/**
 * 防抖函数：在事件被频繁触发时，只在最后一次触发后延迟 delay 毫秒执行 func
 * @param {Function} func - 需要防抖处理的函数
 * @param {number} delay - 延迟时间（毫秒）
 * @returns {Function} - 防抖后的新函数
 */
export function debounce(func, delay) {
    let timer
    return function (...args) {
        clearTimeout(timer)
        timer = setTimeout(() => {
            func.apply(this, args)
        }, delay)
    }
}